package com.whfc.emp.service;


import com.whfc.common.exception.BizException;
import com.whfc.common.result.PageData;
import com.whfc.emp.dto.AppTrainingCategoryDTO;
import com.whfc.emp.entity.AppTrainingCategory;
import com.whfc.emp.param.*;

import java.util.List;
import java.util.Map;
import java.util.stream.Stream;

/**
 * @ClasssName AppTrainService
 * @Description 培训考试-培训管理-分类
 * @Author hw
 * @Date 2020/11/26 16:09
 * @Version 1.0
 */
public interface AppTrainingCategoriesService {

    /**
     * 培训管理-分类-列表
     *
     * @param request
     * @return
     * @throws BizException
     */
    PageData<AppTrainingCategoryDTO> list(AppTrainingCategoryListParam request) throws BizException;

    /**
     * 培训管理-新增分类
     *
     * @param request
     * @throws BizException
     */
    void add(AppTrainingCategoryAddParam request) throws BizException;

    /**
     * 培训管理-编辑分类
     *
     * @param request
     * @throws BizException
     */
    void edit(AppTrainingCategoryEditParam request) throws BizException;

    /**
     * 培训管理-删除分类
     *
     * @param id
     * @throws BizException
     */
    void del(Integer id) throws BizException;

    /**
     * 获取分类Map
     *
     * @param ids
     * @return
     */
    Map<Integer, AppTrainingCategoryDTO> getCategoryMap(List<Integer> ids);

    /**
     * 获取分类集合
     *
     * @return
     */
    List<AppTrainingCategory> simpleList();
}
